home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / オンラインウェア / COM / MacTCPWatcher 2.0.sit / MacTCPWatcher-20 / Eric Behr’s MacTCP Info < prev    next >
Text File  |  1996-07-19  |  88KB  |  1,588 lines

  1.  
  2. MacTCP and related Macintosh software
  3.  
  4. revision 1.4.2, December 1, 1995 
  5. ------------------------------------------------------------------------
  6. Copyright Eric Behr, Northern Illinois University, Mathematics 
  7. Department (behr@math.niu.edu) 
  8. This document can be freely redistributed in whole or in part, provided 
  9. that this copyright notice is included intact, and that no material 
  10. profit is generated from such a transaction. 
  11. ------------------------------------------------------------------------
  12. With sincere thanks to: 
  13. ・Jim Browne -- for his HTML version of the previous revision 
  14. ・David N. Blank-Edelman, Steve Dorner, Patrick Hoepfner, Peter N. Lewis, 
  15. David S. Saunders -- for reviewing the previous revisions 
  16. ・Adam Engst and Patrick Hoepfner (again!) for extensive comments about 
  17. this version 
  18. ・Mikael Hansen -- for his nagging 
  19. as well as to several contributors to Usenet newsgroups, and to all 
  20. those who sent me corrections and suggestions (but I'm the sole author 
  21. of all mistakes, omissions and inanities). 
  22. The newest release of these notes can be obtained by anonymous ftp to 
  23. ftp.math.niu.edu (in the directory /pub/mac/doc), or by gopher to 
  24. gopher.math.niu.edu (directory "Help Files/Help For Macintosh Users"), 
  25. or as http://www.math.niu.edu/~behr/Comp/mactcp.html. The older URL 
  26. http://www.math.niu.edu/~behr/docs/mactcp.html will still work for quite 
  27. a while but should be avoided. The HTML version is usually updated first 
  28. and may be more accurate. 
  29. Please send all comments and suggestions to behr@math.niu.edu. 
  30. If you want to make me and my family happy, please send a postcard to 
  31.  
  32. Eric Behr
  33. NIU, Math, WH 320
  34. DeKalb, IL 60115
  35.  
  36. Thank you!
  37. This page has been accessed 49,115 times (and I only got 69 postcards so 
  38. far!  ) 
  39. ------------------------------------------------------------------------
  40.  
  41. CONTENTS
  42.  
  43. PREFACE
  44. I. Generalities
  45. II. MacTCP
  46. III. Installation
  47. IV. Configuration
  48. V. Applications
  49. VI. Sources
  50. Appendix A. FTP primer
  51. Appendix B. Elements of Macintosh networking
  52. Appendix C. Dial-in access
  53. Appendix D. MacTCP error codes
  54. Appendix E. Open Transport - first look
  55.  
  56. ------------------------------------------------------------------------
  57.  
  58. PREFACE
  59.  
  60. In the past few years the Internet, once an obscure tool used primarily 
  61. by academicians, has become a household word. This surge in popularity 
  62. created great demand for information about software used to connect to 
  63. the "Net", and to navigate its vast expanse. 
  64. Macintosh users are blessed with a cornucopia of excellent and 
  65. innovative software packages for use with the Internet. Nearly all of 
  66. them use the MacTCP driver from Apple. 
  67. I've spent many hours installing MacTCP on various Macs. I also devoted 
  68. a large part of my free time to digging up various useful applications 
  69. for use on the Internet. Hopefully some of my experiences will be 
  70. helpful to you. 
  71. Please note that I'm not a networking expert. Moreover, in recent months 
  72. I have been involved with Macs much less than I used to, so some of my 
  73. advice is second-hand. 
  74. Those readers who are new to the field of Macintosh networking might get 
  75. something out of Appendix B -- please look at it before you continue. 
  76. back to table of contents 
  77.  
  78. I. Generalities
  79.  
  80.  
  81. I.1. Let's begin with a short sermon
  82.  
  83. I started using the Internet several years ago, and it has become an 
  84. important part of my life - for better or worse. I know that many people 
  85. share my feelings about it. For the sake of all of us, please be 
  86. considerate! There are lots of things you can mess up if you don't know 
  87. what you are doing. Connecting your computer to the network which spans 
  88. continents and is used by millions of people in their work is (or at 
  89. least should be) a serious act. 
  90. Please follow this simple advice: 
  91. ・when in doubt, don't do anything without consulting your local 
  92. knowledgeable system administrator -- chances are that if you don't, you 
  93. will break more than you'll fix; 
  94. ・read newsgroups such as comp.sys.mac.comm, comp.sys.mac.system, 
  95. comp.sys.protocols.tcp-ip, comp.protocols.appletalk, especially the 
  96. Frequently Asked Questions collections which are posted in most 
  97. newsgroups from time to time; 
  98. ・read the flaming manuals! 
  99. ・if you are doing something especially tricky, find out how to access 
  100. Internet documents (esp. RFC's) and read the relevant ones. 
  101.  
  102. I.2. Where does the Mac fit in?
  103.  
  104. The Mac has always been a wonderful network machine. But for most people 
  105. "Macintosh networking" means Apple's proprietary system called 
  106. AppleTalk. The Internet uses a different networking "language". A major 
  107. part of it is the protocol known by its acronym TCP/IP. To access the 
  108. wonders of the Internet, a computer must understand TCP/IP. 
  109. Essentially all network software packages available for the Mac use the 
  110. "MacTCP driver" from Apple. Despite its flaws, it provides a uniform 
  111. interface to the low-level networking mechanisms, which in the long run 
  112. makes life much easier for software developers and end users. 
  113.  
  114. I.3. Various connection methods
  115.  
  116. The necessary software is only one part of a network connection. The 
  117. other, obviously, is suitable hardware. A Macintosh can be connected to 
  118. the outside world in many ways: 
  119. ・with a LocalTalk or PhoneNet connector 
  120. ・with an Ethernet adapter 
  121. ・with a Token Ring adapter 
  122. ・with a modem and suitable software 
  123. The first three methods are more reliable and provide higher speeds than 
  124. the last one. However, modem connections are becoming more and more 
  125. popular. 
  126. Macs on Ethernet can usually connect to the outside TCP/IP world without 
  127. a problem; for a long time TCP/IP has been the protocol of choice on 
  128. Ethernet networks. From the hardware point of view, all that is required 
  129. here is an internal Ethernet card, an external SCSI Ethernet adapter, or 
  130. -- for Macs with built-in ethernet -- a transceiver with a connector 
  131. suitable for your flavor of Ethernet: coax, 10Base-T, or thick. 
  132. If you aren't sure which gadget to order, look at the network cables 
  133. used throughout your site. Black TV-style cables mean that you need a 
  134. coax, or 10Base-2 adapter. Thinner cables with modular plugs (like 
  135. telephone ones, only a bit larger) indicate an "unshielded twisted 
  136. pair", i.e. 10Base-T installation. Finally, if all you see is a (usually 
  137. yellow) cable the thickness of a finger, you may need a special AUI drop 
  138. cable which can be plugged into your adapter, and a thick Ethernet 
  139. "vampire tap" which needs to be attached to the cable in a specific 
  140. spot. In this last case, ask around -- don't do it yourself. 
  141. Functionally all three types are identical, and they have nothing to do 
  142. with the way MacTCP works. 
  143. Macs on LocalTalk can communicate with the outside TCP/IP world only if 
  144. the LocalTalk is connected to a larger network using an IP gateway such 
  145. as FastPath (Shiva), Gatorbox (Cayman Systems), Multiport Gateway 
  146. (Webster Computer Corp.), EtherRoute/TCP (Compatible Systems), or one of 
  147. other equivalent devices; or if such a gateway is present elsewhere on 
  148. your internet, and is visible to your Mac. For small networks simpler 
  149. and cheaper devices or software such as microBridge/TCP or 
  150. SuperBridge/TCP from Sonic Systems can be used, even though they are not 
  151. full-fledged LocalTalk-to-Ethernet routers. 
  152. There are reports of exotic solutions consisting of a PC running public 
  153. domain software (PCRoute), with an old Sitka TOPS card, successfully 
  154. acting as an IP gateway for a LocalTalk network, but we have not tried 
  155. them. 
  156. The Apple Internet Router, which is a software package running on a Mac 
  157. connected to a LocalTalk and Ethernet networks, can provide TCP/IP 
  158. routing between them with the optional IP Gateway module from Apple. 
  159. Macs connected directly to Token Ring can speak TCP/IP provided that the 
  160. MacTCP Token Ring Extension from Apple is installed along with the main 
  161. MacTCP driver. 
  162. Software routing of TCP/IP between LocalTalk and Token Ring is now 
  163. reportedly possible with products from VICOM. Please note that this is 
  164. second-hand information. The PCRoute solution mentioned above might also 
  165. be worth exploring here. 
  166. Please note that AppleTalk and TCP/IP are two completely different 
  167. animals, even though a single Mac can use both at the same time; 
  168. configuring AppleTalk functions, such as printing over the network or 
  169. AppleShare, will not be discussed here. 
  170. back to table of contents 
  171.  
  172. II. MacTCP
  173.  
  174.  
  175. II.1. What is it?
  176.  
  177. For the user, it is a hybrid of a Control Panel and a System Extension; 
  178. it is configured just as the Monitors or Sound panels are. For 
  179. applications, it is a set of procedures which allows them to communicate 
  180. with other hosts on the network using the TCP/IP protocol. It is 
  181. designed to be transparent in the sense that once it is properly 
  182. configured, any correctly written application can make use of it without 
  183. user intervention. 
  184. A companion product, AdminTCP, is another Control Panel which lets you 
  185. lock certain parameters of MacTCP in place after they have been set. Its 
  186. function is to help administrators prevent users from fooling around 
  187. with previously entered settings. An average person will not need 
  188. AdminTCP (you can get it only by purchasing the full MacTCP kit). It is 
  189. also possible that your old AdminTCP (version 1.x) will work with MacTCP 
  190. 2.0.x, but that has not been extensively tested and may have dire 
  191. consequences. 
  192.  
  193. II.2. How to get it?
  194.  
  195. MacTCP (version 2.0.6 as of this writing) is marketed by APDA (800 282 
  196. 2732). Some time ago Apple renamed the entire package "TCP Connection 
  197. for the Macintosh", which can make it easy for dealers to confuse it 
  198. with a commercial product from Intercon Systems, TCP/Connect. We will 
  199. continue using the generic name "MacTCP". 
  200. There are several ways of obtaining MacTCP: 
  201. ・check if your institution has a site license (for example, many 
  202. universities do) 
  203. ・buy it from APDA (about $60 list) 
  204. ・buy it from a mail order Macintosh outlet (at the time of this writing 
  205. MacWarehouse has it as catalog # NET0389, $49 + shipping) 
  206. ・buy a book on the Internet which includes a copy of MacTCP; e.g. Adam 
  207. Engst's "Internet Starter Kit for Macintosh, Second Edition" (ISBN 
  208. 1-56830-111-1) sells for about $25 or less in decent bookstores 
  209. ・buy the newest System Software from Apple; the currently shipping 
  210. System 7.5 includes MacTCP 
  211. The last two methods are probably most cost-effective; the only drwaback 
  212. is that you don't get the less-than-helpful manual, and a few extra 
  213. files (which most users won't need anyway). 
  214. If you want to inquire about terms of a site license, send e-mail to 
  215. sw.license@applelink.apple.com. 
  216. You might still find a copy of MacTCP floating around the Net, because a 
  217. few public domain packages used to include the driver. Beware: those 
  218. copies are usually old (e.g. MacTCP 1.1.1), and according to the terms 
  219. of the license Apple grants developers, such copies are supposed to be 
  220. used only with the application that included them. They are not likely 
  221. to work well with newer system software and CPUs, so even if you find 
  222. one you may be in for a lot of hassle. 
  223. The new implementation of the Mac networking interface, Open Transport, 
  224. is currently shipping with some models. For more information about it, 
  225. see Appendix E. 
  226.  
  227. II.3. Do I have the newest version?
  228.  
  229. Even though in some cases you might be able to get away with older 
  230. revisions of the software, it is a good idea to get the newest one. 
  231. Currently shipping System Software 7.5 includes a copy of MacTCP 2.0.6, 
  232. buried among the PowerTalk support files. Even if you don't install 7.5 
  233. (or PowerTalk), you can use this driver with earlier releases of the 
  234. System. The most widely distributed versions seem to be 2.0.2 and 2.0.4, 
  235. which were included with some of the very popular books. 
  236. Versions 2.0.2 and 2.0.4 should be patched to 2.0.6 with updaters 
  237. distributed on on-line services by Apple (see Part VI for more 
  238. information). The updaters only work on original copies of MacTCP. If 
  239. you do not have the "virgin" copy, it is possible to modify the 
  240. installed one so the updaters will work, but anything involving ResEdit 
  241. could be tricky -- do it at your own risk: disable the system heap bit 
  242. of the .ipp DRVR resource in the copy you are patching. 
  243. back to table of contents 
  244.  
  245. III. Installation
  246.  
  247. 9 times out of 10 MacTCP can be installed simply by copying the relevant 
  248. pieces into the System Folder and then configuring them. Still, 
  249. non-standard extensions, or corrupted system software might make this 
  250. task much more difficult. 
  251. My general advice is: start with virginal (or at least freshly updated) 
  252. system files. Problems may result from improperly installed old version 
  253. of AppleTalk or other resources. For example, I could never painlessly 
  254. install new Ethernet drivers on any Mac which previously had some 
  255. suspect proprietary network drivers installed on it. What's worse, some 
  256. network applications seem to corrupt the System, and/or other important 
  257. files, when they crash. 
  258. We shall leave those doomsday scenarios for later. In most cases the 
  259. following procedure will work. Here we go: 
  260. ・When MacTCP is being configured, it creates two files: MacTCP DNR and 
  261. MacTCP Prep (under System 7 the latter should end up in the Preferences 
  262. folder). If you see old copies of those files in your System Folder, 
  263. remove them now! 
  264. ・Since some virus protection utilities might think that the new files 
  265. that MacTCP is installing in the System folder are viruses, it is a good 
  266. idea to shut off all virus protection before you go any further. 
  267. ・If the Mac will be used on Ethernet or Token Ring, make sure you have 
  268. installed the necessary physical-level network drivers. For Macs with 
  269. built-in Ethernet, the drivers are most likely already there. If you are 
  270. using a separately purchased network adapter, follow the manufacturer's 
  271. instructions. 
  272. Apple's Ethernet drivers can be used with Apple adapters and with cards 
  273. from certain manufacturers who maintain high degree of compatibility 
  274. with Apple (e.g. Asante). Use the newest Apple Network Installer Disk, 
  275. which you should be able to get from the local dealer, or from 
  276. ftp.info.apple.com. This is particularly important with newer Macs. 
  277. ・Configure the network drivers, if necessary. Most Ethernet drivers have 
  278. no user-changeable settings at all. The Token Ring driver (configured 
  279. via its Control Panel) should be set for the correct speed (4 or 16 
  280. Mbps). It also lets you set the hardware address of the adapter; if your 
  281. site uses locally administered addresses, you need to get one from a 
  282. local administrator, and set the driver accordingly. 
  283. ・If the Mac is to be used with a dial-in connection, install and 
  284. configure the relevant extensions and control panels (InterSLIP, 
  285. MacSLIP, MacPPP, or similar). Follow the instructions included with the 
  286. package. See also Appendix C. 
  287. ・Put a fresh copy of MacTCP (and AdminTCP, if you have it -- but it 
  288. isn't essential) in the System folder. Make sure that you are using the 
  289. newest version, and not one obtained from shady sources. Under System 
  290. 7+, the control panel will go into the proper subfolder automatically if 
  291. you drop it on top of the System Folder icon. 
  292. back to table of contents 
  293.  
  294. IV. Configuration
  295.  
  296.  
  297. IV.1. Variables
  298.  
  299. The following questions are crucial to the proper configuration of 
  300. MacTCP. Try to find the answers to all of them before you begin. 
  301. ・What physical connection method ("link layer") are you using? Ethernet? 
  302. dial-up? LocalTalk? 
  303. ・Has your Mac been assigned a fixed Internet address, or is it supposed 
  304. to be getting its identity from the network? If the former, what is that 
  305. address? 
  306. ・To connect to hosts outside your LAN, MacTCP needs to know the address 
  307. of the "default gateway", a device which links your network with the 
  308. outside world. Will the Mac be able to discover it on its own (this is 
  309. most often the case)? If not, what is its address? 
  310. ・In order to understand symbolic Internet addresses such as 
  311. rs.internic.net, rather than only numeric ones like 198.41.0.5, MacTCP 
  312. needs to know about "nameservers", i.e. computers which translate 
  313. between the two formats. What is the Internet domain in which the Mac 
  314. is? What is the address of the master nameserver for that domain? What 
  315. is the address of a nearby major nameserver for the "root domain"? 
  316. ・Does your LAN use subnetting? If so, what is the "subnet mask"? 
  317. Don't worry if the above sounds like black magic. Most of these 
  318. questions can be answered by talking to your network administrator. Or 
  319. you may have received this information from the Internet service 
  320. provider when you bought dial-up access service. In some cases you won't 
  321. need all the answers right away. 
  322.  
  323. IV.2. Let's do it!
  324.  
  325. You should now be ready to configure MacTCP. Open the MacTCP control 
  326. panel. You should see a window with one or more icons in the top part, 
  327. and a button "More..." in the bottom. 
  328. ・Click on the appropriate physical layer setting ("Ethernet Built-in", 
  329. "LocalTalk", "Token Ring", "InterSLIP", "PPP", etc.) in the MacTCP panel 
  330. (if it gives you that choice). If you are using a dial-up connection 
  331. such as SLIP, you should have installed and configured the serial line 
  332. drivers before. See Appendix C. 
  333. Let me reiterate that the physical link setting has little to do with 
  334. the network resource (selected in the "Network" CDEV) which you will be 
  335. using for AppleTalk functions, such as printing or AppleShare: we're 
  336. dealing with strictly TCP/IP stuff. 
  337. Newer system software may refuse to load the low-level networking 
  338. support at boot time if AppleTalk is disabled, preventing the Mac from 
  339. talking to the network adapter. It's safer to keep AppleTalk turned on, 
  340. especially when using built-in Ethernet in the newer Macs. This is also 
  341. always the case if you are using TCP/IP through the LocalTalk port: you 
  342. must have activated AppleTalk in the Chooser -- otherwise that port is 
  343. simply dead, and MacTCP doesn't know how to communicate with the outside 
  344. world at all. 
  345. Here are a few rules-of-thumb for choosing the physical layer: ・if you 
  346. use LocalTalk, click the "LocalTalk" icon 
  347. ・if you are on Ethernet, click "Ethernet" (or "Ethernet Built-in" on 
  348. older Macs); do not click the "EtherTalk" icon, unless you were 
  349. specifically told that you need to use a remote IP gateway 
  350. ・if you are on Token Ring, click "Token Ring" (you must have installed 
  351. the MacTCP Token Ring extension) 
  352. ・if you are using dial-up connection such as SLIP or PPP, click the icon 
  353. of the serial connection driver Now click the "More..." button. You will 
  354. see the second level panel of MacTCP (we'll call it the "inner" panel 
  355. for brevity). 
  356. ・Click the appropriate radio button in the "Obtain address" section. If 
  357. the administrator assigned a fixed address to your Mac, click 
  358. "Manually". In almost all other cases you will use the "Server" setting. 
  359. This means that the Mac's network identity will be obtained from a 
  360. device such as the IP gateway, a "bootp server", the dial-up SLIP 
  361. server, etc. If you use "Server" or "Dynamic" addressing, you should 
  362. skip the steps involving the IP address, network class, and subnet mask 
  363. -- that information will be determined by MacTCP "on the fly". Use 
  364. "Dynamic" addressing only after you've double-checked that this is 
  365. indeed what you need. If your network administrator isn't very familiar 
  366. with MacTCP, he may mumble "dynamic" over his shoulder even when the 
  367. setting should really be "Server", and this misunderstanding may cause 
  368. your boss to curse you because her Mac will suddenly stop working. 
  369. ・If you use "Manual" addressing, you should now click "OK" to go back to 
  370. the "outer panel" of MacTCP, and type in the address assigned to the Mac 
  371. in the "IP address" edit field. Then click "More..." to get back to the 
  372. inner panel. 
  373. Please remember that choosing an address at random will at best make 
  374. your connections unreliable; it can also provoke unrestrained wrath of 
  375. some powerful people in your organization. Courts have been known to 
  376. drop bodily harm charges under much weaker extenuating circumstances. 
  377. Moreover, some network numbers are illegal on the Internet. If you pick 
  378. one of those, you'll be asking for a lot of trouble - in particular, 
  379. you'll be getting all e-mail addressed to the University of Mars for the 
  380. rest of your life. 
  381. In what follows I will use some examples which are real addresses of 
  382. real computers on my network; please don't just copy them -- make sure 
  383. to change them to ones that are appropriate for your setup! 
  384. ・The IP number you were assigned determines the network class. MacTCP is 
  385. smart enough to figure it out by itself. Addresses beginning with 1-127 
  386. are class A, 128-191 indicates class B, and 192-254 are class C. After 
  387. setting an address manually, check that the correct network class showed 
  388. up. 
  389. ・You should now set the correct subnet mask. If your network does not 
  390. use subnetting, make sure that the "Subnet Mask" slider is in a position 
  391. where it can't move further to the left (this is the default setting 
  392. that MacTCP uses). If you do use subnetting, slide it to the right so 
  393. the correct mask such as 255.255.255.0 will show up above. Do not 
  394. experiment here! You must use a valid address and subnet mask, or 
  395. somebody will soon come looking for you and your scalp. 
  396. ・For now leave the "Gateway Address" set to 0.0.0.0; if all goes well, 
  397. MacTCP will locate the default gateway by means of a magic wand called 
  398. Routing Information Protocol (RIP). If you use "Manual" addressing and 
  399. you know that your network does not implement RIP, or you were told by 
  400. the manager to use a specific default gateway, you should enter its 
  401. address now. 
  402. ・The last step is to enter the nameserver information. In the first row 
  403. of edit fields under "Nameserver Information" enter the domain of your 
  404. Mac (e.g. math.niu.edu), the IP address of the nameserver for that 
  405. domain, and click the "Default" button. Now go to the next row, type a 
  406. single period in the "Domain" field, then enter the same IP address as 
  407. in the first row. Do not click "Default" here. 
  408. If you were given additional nameserver addresses, or if you wish to use 
  409. a backup nameserver for your domain, enter that information in the rows 
  410. below. The net result should be something like this: 
  411.  
  412.  -------------------------------------
  413. | math.niu.edu   | 131.156.3.3    | x |  ("default" button on)
  414.  -------------------------------------
  415. | .              | 131.156.3.3    | o |  ("default" button off)
  416.  -------------------------------------
  417. | .              | 131.156.1.11   | o |  ("default" button off)
  418.  -------------------------------------
  419.  
  420. Close the MacTCP panel. 
  421. ・Even though MacTCP doesn't always tell you to do so, reboot now! Check 
  422. that MacTCP DNR (and usually MacTCP Prep) files show up in the System 
  423. folder. 
  424. ・Test MacTCP by running an application such as TurboGopher or Fetch. If 
  425. the software doesn't complain, you should be in business. Try connecting 
  426. to a reliable host by opening gopher connection to gopher.micro.umn.edu, 
  427. or an ftp connection to ftp.rtfm.mit.edu. Errors such as "connection 
  428. refused" are OK; this means that the site is busy. Mac system errors are 
  429. bad; consult the list in Appendix D. 
  430.  
  431. IV.3. What can go wrong?
  432.  
  433. If things aren't working right away, you should concentrate on the 
  434. following possibilities: 
  435. ・bad network or modem connection 
  436. ・corrupted copy of MacTCP 
  437. ・bad nameserver information 
  438. ・bad default gateway setting 
  439. ・conflict between system extensions 
  440. If you are on a network, the best way to check the connection is to make 
  441. sure the Mac can see AppleTalk devices such as printers and AppleShare 
  442. file servers. Go to the Chooser and enable AppleTalk (you may have to 
  443. reboot after that). Then open the "Network" Control Panel and select the 
  444. same physical connection as the one MacTCP is using (LocalTalk, 
  445. Ethernet, etc.) Finally, go to the Chooser again and check whether your 
  446. local printers and file servers show up. If they do, you will at least 
  447. know that the wires are OK. 
  448. In case of a dial-up connection, you should obviously look at the modem 
  449. lights (the "off hook", "receive data" and "transmit data" indicators). 
  450. Most serial drivers such as MacPPP also have an icon or some other 
  451. indicator showing whether the driver thinks the connection is active, 
  452. but this isn't always reliable. You may have to resort to diagnosing the 
  453. modem connection with a serial line "sniffer". 
  454. Your network or serial drivers may be corrupted, or misconfigured; it 
  455. may be necessary to reinstall them from scratch. You may also be using 
  456. an incorrect modem init string; Adam Engst's guide on troubleshooting 
  457. such problems can be obtain by mailing a request to tisk-faq@tidbits.com
  458. You can use the MacTCP version of NCSA Telnet to open a connection to a 
  459. major site such as rs.internic.net.If Telnet attempts to open a 
  460. connection, but nothing happens, you should look at the "Connections" 
  461. menu. If it says "XXX is being looked up", chances are that MacTCP isn't 
  462. getting responses from the nameservers you gave it. You should try 
  463. connecting to a numeric Internet address, e.g. 198.41.0.5. 
  464. If Telnet says "XXX is being opened", your Mac may not have the correct 
  465. "default gateway" information. Open the MacTCP inner panel and check 
  466. whether the 0.0.0.0 gateway setting has changed to something else. If it 
  467. didn't, you will have to get the gateway address from the administrator 
  468. and enter it manually. If you know the address of a host on your local 
  469. network, you can try opening a connection to it; this should succeed 
  470. even if the default gateway isn't set properly. 
  471. If your application gives a MacTCP "out of memory" error, you may be 
  472. running into a problem caused by the interaction between older versions 
  473. of MacTCP and a certain new implementations of Unix nameservers. The 
  474. problem should be fixed by upgrading to MacTCP 2.0.6. 
  475. It may be that some other computer is using your manually assigned IP 
  476. address. When MacTCP loads, it in effect says: "host with IP number 
  477. so-and-so, please respond". Your Mac's IP address is used in that query. 
  478. If there is no answer, all is well. But if something out there responds, 
  479. MacTCP correctly assumes that there is a conflict in IP numbers, and 
  480. returns an error code which most applications then translate to a 
  481. less-than-helpful message like "Error opening TCP drivers - possibly no 
  482. dynamic addressing". Talk to the local administrator to verify that the 
  483. address you were given is not used by anyone else. 
  484. Different applications translate MacTCP error codes into different 
  485. messages. Some just display the error number, which isn't very helpful. 
  486. See Appendix D for a partial list of those codes, gleaned from the 
  487. MacTCP Developer's Kit distributed by Apple. 
  488. Much of the above can be diagnosed with a utility MacTCP Watcher, 
  489. written by Peter Lewis, and available from most Mac archives. 
  490. back to table of contents 
  491.  
  492. IV.4. Drastic measures
  493.  
  494. If you are still having problems, trash the following from the hard 
  495. disk: MacTCP, AdminTCP, MacTCP Prep, and MacTCP DNR. These files are 
  496. found in the System Folder proper (in pre-7 Systems) or in various 
  497. subfolders, such as Control Panels, Preferences and Extensions. Reboot 
  498. and install fresh network drivers, then install MacTCP and configure it 
  499. carefully again. Reboot one more time and see if all this helped. If 
  500. problems persist, consider trashing not only the MacTCP files, but also 
  501. the System, Finder, all network drivers and control panels (AppleTalk, 
  502. EtherTalk, Network), and reinstalling fresh copies. This is almost 
  503. certainly an overkill, but in some cases it is also a recipe for instant 
  504. happiness. Of course, you'd better first back up all the files which see
  505. m important to you, such as non-standard extensions or fonts, which will 
  506. get erased in the process! Then install a fresh system. 
  507. Disable all system extensions and non-essential network-related Control 
  508. Panels, especially those which may be requesting network services at 
  509. boot time (such as Network Time). Again, this probably isn't necessary, 
  510. but who knows... As is well-known, system extensions can produce 
  511. mind-boggling conflicts. When you succeed in making MacTCP work without 
  512. them, you should later reinstall them one by one, checking - say - 
  513. telnet after activating each of them. If MacTCP conks out, you'll know 
  514. the culprit! If that happens, please publicize your findings, or at 
  515. least send a note to me. 
  516. Remember that in case of a dial-up connection, your Mac is only one 
  517. piece of the puzzle. The other end, i.e. your provider's modems, routers 
  518. etc. also have to be properly configured, which might not be the case. 
  519. Moreover, the provider may be unwilling to admit that something is wrong 
  520. -- it's been known to happen. You may have to switch to another one. 
  521. Shop around, and stick to the reputable Internet businesses. 
  522. If these radical surgeries still don't work, donate your Mac to a local 
  523. school, get another one, and begin life afresh. 
  524.  
  525. IV.5. Tricks, hints, and caveats
  526.  
  527. If you need your Mac's Ethernet hardware address for debugging purposes 
  528. or simply for your records, you can get at it by holding option down 
  529. while clicking the "Ethernet built-in" icon in the MacTCP panel. Another 
  530. method is to log on to a nearby Unix machine, do a "ping" to your Mac's 
  531. IP address, and then tell the Unix host to list its "ARP cache": arp -a 
  532. on most systems. The hardware address will appear next to your Mac's 
  533. name as 12 hex digits divided into pairs. For the ping to succeed you 
  534. must first start up some Internet application on the Mac. 
  535. Remember that Ethernet and Token Ring handle hardware addresses 
  536. differently; if the Unix host and the Mac are on those two different 
  537. types on networks, you need to translate each pair of hex digits into 8 
  538. binary digits, reverse their order, and translate the whole shebang back 
  539. into 12 hex digits to get the real hardware address. 
  540. Older Macs, notably the Plus, become overworked while running System 7 
  541. (more precisely, the newest versions of AppleTalk) and MacTCP 1.1. Make 
  542. sure to install a new version of MacTCP. 
  543. Sometimes the physical link icons (usually the "LocalTalk built-in" 
  544. icon) mysteriously disappear from the old versions of the MacTCP control 
  545. panel. Make sure you are using a current MacTCP. 
  546. Don't disregard the physical connection. I've seen several reports of 
  547. strange problems which were eventually traced to a bad wire or 
  548. transceiver. Some of Apple's "FriendlyNet" cables for use with the 
  549. Quadras were involved. Borrow a working transceiver and cable from 
  550. someone and try it before blaming everything on the software. 
  551. Are things messed up, and you are stuck? Make sure to contact the vendor 
  552. of the network adapter. There may be a problem which they know about. 
  553. You may need to get an updated driver from them. 
  554. It was reported that the Apple cache card (for the IIci) used to cause 
  555. problems with MacTCP and a lot of other things. Scream for a 
  556. replacement! 
  557.  
  558. IV.6. Using AdminTCP
  559.  
  560. If you are responsible for configuring MacTCP in your department or 
  561. organization, in some cases you will want to lock the settings you have 
  562. entered, so that users with itchy hands will not fool around with them. 
  563. Open the AdminTCP panel (even an old version should work with a new 
  564. MacTCP, but of course it is best to get a current one!) In the inner 
  565. panel click the three checkboxes which lock the address, and click the 
  566. "Protected" box. Close the panel and reboot right away. 
  567. Remember to trash AdminTCP from the user's disk afterwards, so he won't 
  568. be able to unlock the settings, unless you trust the user not to mess 
  569. things up intentionally. 
  570. If the prospective user is a TCP/IP sage, you should of course leave 
  571. things wide open for him to play with the little buttons during long 
  572. winter nights. 
  573. There are some other permutations involving, for example, locking just 
  574. the network part of the address, but leaving the subnet and node numbers 
  575. accessible. Please read the manual! 
  576.  
  577. IV.7. More about nameservers
  578.  
  579. Going into the details of the Internet Domain Name System (DNS) would 
  580. make this document twice as long, so we will stick with the basics, 
  581. explaining what went on when we filled in the MacTCP "Nameserver 
  582. information" fields. The Domain Name System is used by computers to 
  583. convert the human-friendly names such as "rs.internic.net" to numeric 
  584. addresses (IP numbers) such as 198.41.0.5. Internet computers also use 
  585. this system to "reverse-map" numeric addresses, i.e. to verify that your 
  586. numeric address does correspond to a name which is recognized by the 
  587. DNS. A part of MacTCP, the "resolver", is responsible for doing all this 
  588. on your Mac. 
  589. If your network is connected to the Internet, your computer lives in 
  590. some well-defined "domain". In my case, it is math.niu.edu, and a 
  591. machine with address 131.156.3.3 is providing name service for that 
  592. domain. I thus enter "math.niu.edu" (do not use quotes) in the Domain 
  593. field, and 131.156.3.3 in the Server field next to it. I also click the 
  594. Default button. This informs MacTCP that my computer is in the 
  595. math.niu.edu domain, so when I tell my Mac to telnet to "sunflower", it 
  596. will query the nameserver about the address of "sunflower.math.niu.edu". 
  597.  
  598. If the local nameserver doesn't keep a large table of addresses, or if 
  599. it is less than reliable, you will probably want to add some backup 
  600. servers (this is generally a good idea). In particular, one or more 
  601. Domain fields could contain the period alone to handle the "root 
  602. domain", i.e. the entire Internet, with the address of a big, reliable 
  603. machine next to it. 
  604. Clicking the "default" button by no means guarantees that this server 
  605. will be consulted first; MacTCP first contacts those nameservers listed 
  606. in the control panel which seem to match the domain name included in the 
  607. query - and only if that fails, the default server is asked as a last 
  608. resort. However, all domain name queries should generally go to your 
  609. local nameserver first. You may want to enter your local nameserver's 
  610. address in the second row as well, specifying the root domain (period) 
  611. in the first field. 
  612. If the resolver is given a name without periods in it, e.g. "sunflower", 
  613. it will tack on your default domain, and send out a query for 
  614. "sunflower.math.niu.edu". If there is no computer by that name, the 
  615. query will fail. 
  616. If the name contains periods, MacTCP considers it to be a "fully 
  617. qualified domain name", and tries to match the tail of it with one of 
  618. the domains you entered in the MacTCP panel. For instance, a query for 
  619. "sunflower.math.niu.edu" will go to the nameserver specified for domain 
  620. math.niu.edu (if any), then -- if that fails -- to the nameserver for 
  621. niu.edu (if any), and finally to one of the servers for the root (.) 
  622. domain. 
  623. There is currently no support for the so-called "partially qualified 
  624. names"; e.g. "sunflower.math" will _not_ get anything tacked on, even 
  625. though you may hope that MacTCP will be smart enough to try adding 
  626. "niu.edu" to it. 
  627. A small text file called Hosts can be put in the System Folder proper; 
  628. it lets you enter additional information which MacTCP uses when it 
  629. carries out the name resolution process described above. For example, 
  630.  
  631. clinch.math.niu.edu      IN   A   131.156.3.3
  632. math.niu.edu             IN   NS  clinch.math.niu.edu
  633. rs6000.cmp.ilstu.edu     IN   A   138.87.1.2
  634. risc                     CNAME    rs6000.cmp.ilstu.edu
  635.  
  636. in the Hosts file tells MacTCP that clinch.math.niu.edu has address 
  637. 131.156.3.3, that it is a nameserver for my domain, that 
  638. rs6000.cmp.ilstu.edu has address 138.87.1.2; since I connect to it 
  639. often, I want my Mac to use rs6000.cmp.ilstu.edu whenever I say "risc." 
  640. (if there were no dot, MacTCP would start looking for 
  641. rs6000.math.niu.edu!). 
  642. A Hosts file on a Mac tends to be neglected or overlooked, unlike -- say 
  643. -- the NIS hosts file on your main network server. Keep this in mind 
  644. when deciding whether to put a lot of information there. When IP 
  645. addresses change, it may come back to haunt you, since you may not even 
  646. remember it's there. It's better to rely on a reliable, properly 
  647. configured and maintained nameserver for your domain. 
  648. A bug in MacTCP 2.0.4 discovered by Sylvia Elliott causes the resolver 
  649. to fail on CNAMEs in the Hosts file which contain digits. MacTCP 2.0.6 
  650. may have fixed this. 
  651. The newest versions of the resolver also disallow host names which 
  652. contain underscores. This has caused significant controversy; even 
  653. though this is "correct" behavior according to Internet standards, older 
  654. implementations have not enforced this restriction, and there are 
  655. several computers out there with such names. Until they disappear you 
  656. will have to use numeric addresses to reach them. 
  657. For a list of specifications allowed in the Hosts file, see the MacTCP 
  658. manual. 
  659. After modifying the Hosts file or the nameserver information in the 
  660. MacTCP control panel, make sure to trash the MacTCP DNR file, and reboot 
  661. right away. 
  662.  
  663. IV.8. Minimal setup
  664.  
  665. It is often useful to construct a minimal network consisting of two Macs 
  666. running TCP/IP: either to test an application being written, or just to 
  667. see this side of Mac networking in action. Here is what you should do to 
  668. get such a mini-net running. 
  669. Connect the Macs with a LocalTalk cable (PhoneNet boxes at each end 
  670. recommended for good reasons, even though a simple printer cable will do 
  671. for those who like risks). Ethernet-ready Macs can be connected with a 
  672. short piece of coax cable (good terminators at each end!), or a twisted 
  673. pair cable. Do not use a hub-to-adapter cable! it won't work. You have 
  674. to swap the send/receive pairs as follows: 
  675.  
  676.   RJ-45 plug pins
  677.    1 -------- 3
  678.    2 -------- 6
  679.    3 -------- 1
  680.    6 -------- 2
  681.  
  682. On each Mac put a file called Hosts in the System Folder; in each of 
  683. them type: 
  684.  
  685. testa     IN   A    244.244.244.1
  686. testb     IN   A    244.244.244.2
  687.  
  688. Avoid using numbers in host names, i.e. don't try test1 or mac15. And 
  689. remember that you have to get official IP addresses before you hook the 
  690. Macs up to the outside world. 
  691. In MacTCP set the appropriate link icon (LocalTalk or Ethernet), 
  692. addressing to manual, gateway to 0.0.0.0, and leave the nameserver 
  693. information entirely blank. 
  694. In the "outer panel" set the IP address to 244.244.244.1 on one 
  695. computer, and to 244.244.244.2 on the other one. Reopen the "inner" 
  696. MacTCP panel and verify that subnet mask is 255.255.255.0, and that 
  697. network class became C. 
  698. Enable AppleTalk in the Chooser, reboot, and you should be up and 
  699. running. Install some clients and servers on the Macs (Fetch and FTPd, a 
  700. Web client and httpd, and so on) and try them out. 
  701. Since MacTCP still has problems with various timing parameters, on a 
  702. network like this where delays and transmission times are weird you may 
  703. occasionally see errors such as "No connection in place". 
  704. As Leo Willems pointed out, a truly minimal configuration consists of a 
  705. single Macintosh; for example, a developer may want to test a TCP/IP 
  706. client application with a server program running on the same computer. 
  707. Set TCP/IP to LocalTalk and manual addressing as above, and don't 
  708. connect it to anything! Or, if you want to check Ethernet operation, 
  709. plug in a self-terminating Ethernet transceiver and select the Ethernet 
  710. icon in MacTCP. 
  711. back to table of contents 
  712.  
  713. V. Applications
  714.  
  715. There are many commercial programs which use TCP/IP connectivity 
  716. (InterCon Systems family of networking applications, VersaTerm from 
  717. Synergy Software, MacX from Apple, just to name a few). I will not 
  718. review them here because I have had little or no experience with them. 
  719. Let the vendors speak for themselves. 
  720. The list of public domain or shareware software which follows is far 
  721. from complete; moreover, new applications appear very often, and we 
  722. cannot possibly keep it up to date. We will focus on a few most 
  723. important packages which should get you started. See Part VI for 
  724. information on obtaining this software. 
  725.  
  726. V.1. Terminal emulation
  727.  
  728. There are currently two primary free programs which let the Mac connect 
  729. to other hosts as a terminal using TCP/IP (telnet): NCSA Telnet and its 
  730. derivative, tn3270. 
  731. The first one is being developed at the National Center for 
  732. Supercomputing Applications in Urbana-Champaign. It emulates a vt100 
  733. terminal and provides some Tektronix graphic terminal capabilities; it 
  734. also implements an ftp client and server, but support for this will 
  735. disappear in future versions. 
  736. The second, tn3270 written at Brown University, is a variant of Telnet 
  737. which provides the IBM 3270 terminal emulation. It also supports file 
  738. transfers and printer sessions, given the right software installed at 
  739. the big iron end. 
  740. NCSA Telnet used to come in two versions: one which relied on MacTCP, 
  741. and one which included built-in TCP/IP drivers. Starting with Telnet 
  742. 2.5, the two have been merged into a single package. 
  743. You may also want to try a third package, Comet from Cornell University, 
  744. which is still available from some ftp archives. It can be used over a 
  745. network with MacTCP, or with an ordinary modem connection. 
  746.  
  747. V.2. E-mail
  748.  
  749. There are several schemes in which a Mac can access Internet mail. The 
  750. crudest way, of course, is to telnet to a host on which you have an 
  751. account, and use that host's mail facilities. Another is to keep using 
  752. whatever mail system you have on the AppleTalk network (e.g. QuickMail 
  753. or Microsoft Mail), and then provide a SMTP gateway which will translate 
  754. it to Internet mail; this tends to be expensive, sometimes unreliable, 
  755. and may be difficult to maintain. 
  756. By far the most popular and convenient system is the client/server 
  757. method, in which one computer uses its powerful mail software and 
  758. provides service to clients such as Macs or PCs. Macintosh users have 
  759. the good fortune of being able to use some excellent mail clients which 
  760. work on a Mac. Eudora written by Steve Dorner leads the pack (in my 
  761. humble opinion). Non-commercial versions are still maintained and 
  762. supported by Steve, even though innovations and functional improvements 
  763. find their way into the commercial package first. 
  764. Eudora and other similar clients (such as POPMail II from the University 
  765. of Minnesota) allow the user to read, compose, and edit mail on the 
  766. Macintosh desktop; it can print mail, save messages as Mac files, and 
  767. attach Macintosh-specific files (say, formatted Word documents or even 
  768. applications) to the letters using one of the encoding schemes, e.g. 
  769. BinHex (see Appendix A). When it's time to process mail, Eudora contacts 
  770. the server, uploads messages waiting to be sent and downloads those 
  771. which the server received for you. The (supposedly) well-maintained and 
  772. well-connected server computer handles the rest, so you don't need to 
  773. know anything about Unix or any other alien operating system. 
  774. The current versions of Eudora also support MIME (Multi-purpose Internet 
  775. Mail Extensions), a standard for transferring images, sounds, 
  776. international characters etc. via the ASCII-oriented Internet e-mail. 
  777. Seting up a POP server on most Unix computers is rather trivial, but it 
  778. does require superuser privileges. If you use a VAX with VMS, and some 
  779. TCP/IP package is already installed, chances are that it includes a POP 
  780. server. There is also a public domain POP3 server for VMS available from 
  781. Indiana University, which a dear friend of mine, a computer 
  782. semi-literate, got up and running without much grief. Talk to your local 
  783. system administrator. 
  784. One of the selling points of the POP protocol is that several decent 
  785. clients are also available for DOS and Windows computers (NuPOP, 
  786. PC-Eudora from Qualcomm, etc.). Moreover, most of those clients can send 
  787. and receive attachments using standard encoding; in many cases it is 
  788. possible -- say -- to save a Word document as a WordPerfect DOS file on 
  789. your Mac, attach it to a letter in Eudora, and send it to someone who is 
  790. stuck with a WordPerfect Office mail system behind a Novell SMTP 
  791. gateway... 
  792. In case you don't have a bigger machine which may be used as a POP 
  793. server, don't worry; your Mac can be made into a full-blown SMTP mailer, 
  794. and it then behaves like any other "real" Internet mail node. Glen 
  795. Anderson's MailShare does just that, in addition to providing POP 
  796. service for other Macs. If all you want is SMTP service for the 
  797. individual Mac, you can try Lee Fyock's LeeMail, but MailShare is 
  798. probably a better choice at this time. Naturally, a Mac configured as an 
  799. independent Internet mail host had better have reliable connectivity 
  800. with the world at large (and a properly configured Domain Name 
  801. Resolver). 
  802.  
  803. V.3. FTP
  804.  
  805. Just like Eudora seems to be the mail client of choice, Fetch by Jim 
  806. Matthews reigns in the FTP area. Older clients include the HyperFTP 
  807. stack, and the orphaned (but still useable) XferIt. There is also an FTP 
  808. server that runs on Macs, FTPd by Peter Lewis. Anarchie is a very 
  809. convenient marriage of an Archie client (which searches lists of 
  810. software on anonymous FTP servers) with an FTP client. 
  811. As we will explain in Appendix A most Mac files you download will 
  812. require further processing. Fetch allows you to do this painlessly if 
  813. you install gadgets such as StuffIt Expander and MacGzip on your disk, 
  814. and configure things so that incoming files are automatically 
  815. decoded/decompressed by them. 
  816. When using FTP from a Mac, you should realize that many anonymous FTP 
  817. sites do not allow connections from hosts which are unknown to the 
  818. Internet nameservers. To connect to such nodes, your Mac's IP address 
  819. has to "reverse-map" to a legal Internet name, like mac1.math.niu.edu. 
  820. The system administrator of your nameserver computer might be willing to 
  821. enter your address in his database. 
  822.  
  823. V.4. Network news
  824.  
  825. There are several Mac applications designed to let you access Usenet 
  826. news: Newswatcher and Nuntius are probably the most popular. I have not 
  827. experimented with Nuntius, so I can only quote second-hand information: 
  828. at least one of my correspondents swears by Nuntius as "the best 
  829. newsreader I have seen on the Mac by far". 
  830. Reading Usenet articles usually involves downloading humongous lists of 
  831. articles over a slow connection such as overloaded LocalTalk, or worse 
  832. -- a modem link, keeping track of read items, and so on. This is not for 
  833. the faint of heart. Many people still stick to the old-fashioned method 
  834. of logging on to a bigger host and reading news there. But when it 
  835. works, it's worth it! You can finally organize the saved articles on 
  836. your own disk, use your favorite word processor to write replies, etc. 
  837. News clients require an address of a nearby friendly NNTP server. The 
  838. server needs to be friendly in the sense that it must recognize your Mac 
  839. as a host which is allowed to post news. As with FTP, this usually 
  840. requires having a valid domain name, and the server must have been 
  841. configured to accept uploads from your computer. Even though some 
  842. servers allow free read access and only limit posting, the Mac clients 
  843. will usually give up without explanation unless they are granted both 
  844. permissions. This causes a lot of confusion among novice users, who then 
  845. complain about "broken newsreaders". 
  846.  
  847. V.5. Internet Gopher
  848.  
  849. The Internet Gopher is a system of "gopher servers" on various Internet 
  850. hosts which can be contacted by a gopher client, passing the connection 
  851. on to other servers in a way transparent to the user. The data on the 
  852. servers are presented as menus, which can be text or binary files, links 
  853. to ftp archives or Usenet news servers, or finally pointers to other 
  854. gopher servers. It is a very convenient mechanism for putting the 
  855. bewildering spectrum of Internet services under one roof. The principal 
  856. Mac client, TurboGopher, has been created by the designers of the gopher 
  857. system at the University of Minnesota. There is also a gopher server 
  858. which runs on Macs. 
  859. Gopher has become one of the standard ways of providing access to 
  860. distributed information such as campus directories, WAIS servers, 
  861. on-line publications, etc. It is also the preferred method of accessing 
  862. many of the anonymous ftp sites, such as the sumex archive at Stanford. 
  863.  
  864. V.6. World-Wide Web
  865.  
  866. In the 70's FTP was "it". In the early 90's it was the gopher. In 
  867. mid-90's, it's WWW, or "W-cubed", or World-Wide Web. Visionaries at the 
  868. European CERN laboratory in Geneva realized that hypertext ideas 
  869. (conceived quite a long time ago) could be combined with Internet 
  870. connectivity to provide a uniform access to resources "out there". 
  871. The idea really took off when programmers at NCSA released Mosaic, a 
  872. client application which allowed Unix machines, Macs, and PCs to access 
  873. WWW servers in a way that showed the stunning capabilities of the 
  874. system. After connecting to a WWW "page" you see text, links to other 
  875. parts of the document, icons, images, links to other pages thousands of 
  876. miles away; you can click on an icon and hear a sound; click on an 
  877. underlined address and send a note to someone; click on an electronic 
  878. newspaper's masthead and see the editor's face. Access to other 
  879. protocols such as FTP or telnet connections is integrated into this 
  880. paradigm. 
  881. The development of the Web has forced some other standards to evolve 
  882. rapidly. The "uniform resource locators", or URLs, are the new language 
  883. used to specify where a given item lives in the net universe: e.g. 
  884. ftp://ftp.math.niu.edu/pub/mac/doc/mactcp.txt means "connect by FTP to 
  885. the host ftp.math.niu.edu, and retrieve the file mactcp.txt in the 
  886. directory /pub/mac/doc". Together with MIME, WWW has helped the 
  887. evolution of standards for exchanging complex documents between 
  888. different systems. 
  889. Documents written in the WWW HyperText Markup Language (HTMLs for short) 
  890. are very flexible; they can be used to provide a help system for local 
  891. users, a tutorial for novice photographers or origami fans, or a 
  892. sound-enhanced catalog of music recordings. They are also quite 
  893. "expensive" in terms of the network load: WWW pages tend to be full of 
  894. images, sounds and icons comprised of hundreds of kilobytes of data, 
  895. sometimes causing unprecedented congestion on info-ways we all use. Let 
  896. us hope that this will soon cause an equally dramatic increase in the 
  897. bandwidth of the Internet infrastructure. 
  898. Two Mac clients dominate the field: NCSA Mosaic, and Netscape from 
  899. Netscape Communications Corporation. Netscape is a commercial product: 
  900. please make sure you read the accompanying license. A third, MacWeb, is 
  901. also gaining popularity. You can turn your Mac into a WWW server with a 
  902. Mac HTTP daemon application (e.g. httpd or MacHTTP), available from many 
  903. archives. 
  904.  
  905. V.7. Miscellaneous gadgets
  906.  
  907. Many people need to switch between several MacTCP configurations (e.g. 
  908. when using a PowerBook at home with PPP and at work with a direct 
  909. network link). John Norstad's MacTCP Switcher is a great help in such 
  910. situations (note that OpenTransport has the built-in capability to store 
  911. various configurations and switch between them without rebooting the 
  912. computer). 
  913. Even if you install only the basic Internet programs, you will notice 
  914. that configuring them all is quite a balancing act. At the same time, 
  915. many of them share certain parameters: your name, address of a mail 
  916. server, preferred e-mail address, and so on. The program InternetConfig 
  917. has been created to help you organize such parameters in one place. 
  918. Older versions of these notes listed a number of specialized Mac 
  919. applications which use MacTCP in this section. Since this category is so 
  920. fluid, with some programs being abandoned, and new ones showing up, I 
  921. feel it would be unfair to single out just a few packages I like. 
  922. Instead, I will single out one person: Peter Lewis, who has been busy 
  923. creating useful MacTCP applications for some time now. They include an 
  924. FTP server, a MacTCP debugging application, an intelligent "archie" 
  925. client for searching and accessing FTP archives, a "talk" program, and 
  926. so on. I feel that Peter's work, which has helped many of us enormously, 
  927. deserves special recognition and support. 
  928. back to table of contents 
  929.  
  930. VI. Sources
  931.  
  932. There are some excellent sources of background information on the 
  933. Internet in general, and TCP/IP in particular. Two classics which come 
  934. to mind are: 
  935. "Zen and the Art of Internet" (by Brendan Kehoe), 
  936. "Hitchhiker's Guide to the Internet" (by Ed Krol). 
  937. Both can be obtained by anonymous FTP from ftp.uu.net (directory 
  938. /inet/doc). The files are Unix-compressed, so they should be downloaded 
  939. using binary mode and then decoded with a Unix-style uncompress 
  940. application. See Appendix A for a primer on ftp. Note that newer 
  941. editions of "Zen" are only available commercially. 
  942. Several FTP sites have copies of most newer Requests For Comments 
  943. (RFCs), documents which establish Internet standards. Try 
  944. rs.internic.net or nic.switch.ch. To get started download the files 
  945. rfc-index and fyi-index. There is no substitute for reading RFCs 
  946. (painful as it may be...) 
  947. A popular and very complete paper reference is "The Whole Internet 
  948. User's Guide and Catalog", also by Ed Krol, published by O'Reilly and 
  949. Associates. 
  950. A three-volume series "Internetworking with TCP/IP" by Douglas Comer is 
  951. published by Prentice Hall, and contains everything you have ever wanted 
  952. to know about the protocol that makes the Net tick. 
  953. Frequently Asked Questions (FAQ) files are the accepted method of 
  954. answering "newbie" questions; even if you consider yourself an 
  955. experienced 'Netter, you may want to check them out. The most relevant 
  956. one is available by FTP from rtfm.mit.edu, in the directory 
  957. /pub/usenet-by-hierarchy/comp/sys/mac/comm. 
  958. The main archive of public domain and shareware Mac software is on 
  959. sumex.stanford.edu. There are several "mirrors" which you may want to 
  960. try when sumex is too busy to let you in, e.g. nic.switch.ch or 
  961. src.doc.ic.ac.uk, but they are often just as busy as sumex. Another 
  962. fairly complete Mac archive is on mac.archive.umich.edu. 
  963. Adam Engst keeps a comprehensive collection of Mac communications 
  964. software on ftp.tidbits.com, in the directories /pub/tidbits/tisk and 
  965. /pub/tidbits/select. For announcements of new versions of this software, 
  966. WWW users should see http://www.mcp.com/hayden/iskm/. If you are looking 
  967. for a communications package, or an init string for your modem, or a 
  968. SLIP dialup script, those are the places to look. You can also send mail 
  969. to iskm@tidbits.com to inquire about the current status of his "Internet 
  970. Starter Kit" book. 
  971. Official MacTCP-related files released by Apple can be obtained by 
  972. anonymous ftp from ftp.info.apple.com and from seeding.apple.com; Web 
  973. fans can try http://www.info.apple.com. 
  974. Note that Apple likes to distribute some of its software as "disk image" 
  975. files. Such files have to be loaded into an application such as DiskCopy 
  976. (available on ftp.info.apple.com in /dts/utils) or ShrinkWrap, which can 
  977. then produce exact copies of an original master floppy disk. Moreover, 
  978. many files on Apple archives are prefixed with the lengthy lawyer-speak 
  979. section, which can justifiably confuse some BinHex decoders; after 
  980. downloading such .hqx files, use an editor to cut out the legalese 
  981. before de-BinHexing. 
  982. Here are pointers to software which is found in less obvious places: 
  983. Eudora: ftp.qualcomm.com
  984. GopherApp: ftp.bio.indiana.edu in /util/gopher/gopherapp
  985. MacDump: bbn.com in /pub/MacDump
  986. NetNews: ftp.bio.indiana.edu in /util/mac
  987. Netscape: ftp.mcom.com
  988. POP servers: ftp.qualcomm.com, ftp.cc.berkeley.edu
  989. tn3270: brownvm.brown.edu
  990. TurboGopher: boombox.micro.umn.edu in /pub/gopher
  991. VMS POP server: ftp.indiana.edu in pub/vms/iupop3 
  992. This should keep you busy for now... 
  993. back to table of contents 
  994.  
  995. Appendix A. An FTP Primer
  996.  
  997.  
  998. A.1. Downloading text files
  999.  
  1000. Use any account available to you on a well-connected host. Type "ftp 
  1001. ftp.math.niu.edu". When asked for a username, reply "anonymous"; give 
  1002. your mail address as password. In 9 cases out of 10, archives such as 
  1003. this one will accept "ftp" in place of "anonymous", which is meant as a 
  1004. favor to the new spelling-challenged generation. You will also discover 
  1005. that many sites will accept any password at all, but let's be nice to 
  1006. those folks who specifically ask for the real id. 
  1007. Enter "cd /pub/mac/doc", and then "get ftp-primer.txt". When you see 
  1008. "Transfer complete", type "quit" and read the file you just downloaded. 
  1009. After becoming skilled in using ftp, download some more text files from 
  1010. the /pub/mac/doc directory on ftp.math.niu.edu: 
  1011. help/accessing-files.txt
  1012. report/how-do-i-find.txt 
  1013. Many more such files are on sumex.stanford.edu, in the directory 
  1014. /info-mac/comm/info (most of them are mirrored on ftp.tidbits.com in 
  1015. /pub/tidbits/tisk/info). See Part VI for details. 
  1016. WARNING!!! The minute you start downloading files from the network, you 
  1017. become more susceptible to viral infection than before. I strongly 
  1018. suggest that you should first get and set up the wonderful free virus 
  1019. checker, Disinfectant. Its home is ftp.acns.nwu.edu, in directory 
  1020. /pub/disinfectant; it can also be found in many other places, e.g. on 
  1021. sumex.stanford edu in the directory /info-mac/virus. You may then want 
  1022. to send its author, John Norstad, a nice thank-you note: we all owe him 
  1023. a great deal! If you have access to Usenet news, make it a habit to 
  1024. monitor the comp.sys.mac.announce group: it is probably the most 
  1025. reliable source of information about newly discovered viruses. 
  1026.  
  1027. A.2. Peculiarities of Mac file transfers
  1028.  
  1029. Macintosh files differ from files on most other machines in that they 
  1030. consist of two parts. One contains data (text, executable program), and 
  1031. the other - resources (icons, the file's creator code, etc.) I'm 
  1032. simplifying a little, but never mind. This complicated structure 
  1033. prevents us from sharing such files directly over the network. 
  1034. Moreover, there is only one language which practically all computers 
  1035. understand: the ASCII code (plain text). Even though this isn't a 
  1036. terribly elegant solution, we simply bring everything to this lowest 
  1037. common denominator to assure compatibility. For example, in order to 
  1038. send a file to someone by the current e-mail systems, it has to be 
  1039. somehow encoded into an ASCII file. 
  1040. The Mac community has pretty much agreed on a common standard for doing 
  1041. just that: BinHex. BinHex swallows a Mac file, icons, file creators and 
  1042. all, and converts all that into a plain text file filled with something 
  1043. that looks like garbage; it also performs the reverse procedure. So you 
  1044. need BinHex. 
  1045. There is one obvious difficulty, however: how do you get a BinHex 
  1046. decoder (a Macintosh application!), when you don't have BinHex? You will 
  1047. also need software which will somehow let your Mac do FTP. The easiest 
  1048. way to "bootstrap" yourself is to simply get a copy of such a beast from 
  1049. a local Mac guru or a Mac User Group. If you're lucky, you will lay your 
  1050. hands on a utility which can not only transfer files, but also un-BinHex 
  1051. them -- such as Fetch, or TurboGopher. You can then tell it to connect 
  1052. directly to, say, sumex, dowload the interesting BinHex'ed files, and 
  1053. decode them while they arrive. 
  1054. Another way is to get NCSA Telnet, log on to a friendly Internet 
  1055. machine, download the applications you need to that computer in *binary* 
  1056. form (e.g. the file binhex4.bin available on sumex in /info-mac/util) 
  1057. using the binary mode in ftp. Then connect back to your Mac using the 
  1058. Telnet FTP server and put the files on the Mac using the MacBinary 
  1059. mode... It sounds (and is) a bit complicated, but remember - this 
  1060. convoluted process is necessary only in the very beginning. 
  1061. Once again, we have just licked the surface of this topic here. For more 
  1062. information, see the file /info-mac/report/ftp-primer.txt mentioned in 
  1063. Part VI. 
  1064.  
  1065. A.3. What next?
  1066.  
  1067. When you have learned how to download Macintosh executable files, it's 
  1068. time to go hunting for specific applications. Use the hints given above 
  1069. to "bootstrap" yourself. The possibilities under your fingertips are 
  1070. something that your parents didn't even dream about. 
  1071. You may want to start experimenting with Gopher, and WWW at this point. 
  1072. Most software available via FTP can also be downloaded using those 
  1073. tools, which often let you find things more quickly and easily. We have 
  1074. already mentioned another application, Anarchie, which is invaluable in 
  1075. locating hard-to-find files on FTP servers. 
  1076.  
  1077. A.4. Let's end with a short sermon...
  1078.  
  1079. Many of the applications mentioned above are NOT in public domain. They 
  1080. are either shareware, or there are restrictions on their use and/or 
  1081. distribution. PLEASE PAY FOR SHAREWARE YOU KEEP!!! Author's address can 
  1082. almost always be found by pulling down the Apple menu and selecting 
  1083. "About..." Let's keep this wonderful, affordable software alive! 
  1084. back to table of contents 
  1085.  
  1086. Appendix B. Mac networking: mini-tour
  1087.  
  1088. In the networking world, it is easy to drown in the alphabet soup and 
  1089. the sea of obscure terms. But understanding the process by which 
  1090. computers communicate helps troubleshoot problems. We will go through 
  1091. some elementary information in this appendix. Things may get a bit 
  1092. confusing, and you may want to read what follows two or three times 
  1093. until it makes sense... 
  1094. For two digital devices to talk to each other, there must be a physical 
  1095. connection between them (a wire, optical fiber, radio link, etc.) and an 
  1096. agreement as to the logical organization of the information. In 
  1097. computerese, such mutual understanding is usually called a 
  1098. "communications protocol". 
  1099. Apple's Macintoshes use a "native" set of protocols, collectively known 
  1100. as AppleTalk. The physical aspect of AppleTalk is, very simply, the kind 
  1101. of wires the device uses. If you stick a little round connector into the 
  1102. printer port of your Mac, or in the jack in your LaserWriter, you are 
  1103. using AppleTalk over Apple's original slow wiring, i.e. LocalTalk. 
  1104. Almost nobody uses that now -- even Apple's own network uses Farallon's 
  1105. Phonenet system, but that is a technical detail. You are on LocalTalk. 
  1106. If your Mac has an Ethernet card or external adapter attached, you will 
  1107. be using AppleTalk on a physical Ethernet network; that is called 
  1108. EtherTalk. Similarly, if you install a Token Ring adapter, the 
  1109. incarnation of the AppleTalk protocol you are dealing with is called 
  1110. TokenTalk. 
  1111. The logical layer of AppleTalk handles details such as how two Macs can 
  1112. discover each other on the network, how individual nodes are uniquely 
  1113. identified, what should a Mac say to a printer or an AppleShare file 
  1114. server when it wants to use it, and so on. The devices you see in the 
  1115. Chooser (LaserWriters, file servers, or routers such as Netway or 
  1116. SNA/ps) are all AppleTalk devices. The beauty of AppleTalk is that you 
  1117. don't really care what physical method you use. You may see a printer on 
  1118. LocalTalk, or a LaserWriter IIg on Ethernet, or a Netway box on Token 
  1119. Ring -- it doesn't matter. 
  1120. But the nitty-gritty of how the actual network operates does vary from 
  1121. one kind of wire to another. The computer has to behave differently on 
  1122. each kind of network, but of course you don't want to know about that! 
  1123. Enter "network drivers": low-level pieces of system software which take 
  1124. care of that. When you put in an Ethernet card, you need to install the 
  1125. EtherTalk drivers in your system. Same with TokenTalk drivers. It's like 
  1126. speaking with someone over the phone, or on a walkie-talkie. The 
  1127. principle is different, but the message is the same. 
  1128. There are more and more ways of making non-Apple devices speak 
  1129. AppleTalk: that's why there are MS DOS computers on LocalTalk networks, 
  1130. Novell AppleShare servers, and you can configure your Sun Sparcstation 
  1131. to print on an Apple LaserWriter. The Internet world, however, doesn't 
  1132. know the first thing about AppleTalk. It only understands the collection 
  1133. of protocols known as TCP/IP. What does TCP/IP have to do with 
  1134. AppleTalk? The answer is "not much", and "nothing" most of the time. 
  1135. Putting a Mac on a TCP/IP network is like dumping an Englishman in the 
  1136. center of Beijing: there is a language barrier. 
  1137. MacTCP, the gadget we are discussing in this document, allows Mac 
  1138. applications to use network interfaces -- such as the built-in LocalTalk 
  1139. port or an Ethernet card -- to transmit and receive data packets which 
  1140. contain TCP/IP information, and hence to communicate with the millions 
  1141. of other TCP/IP computers on this planet. 
  1142. Just like Apple came up with specifications for sending the high-level 
  1143. (AppleTalk) data using the various low-level, network-specific 
  1144. "transport protocols" (Ethernet, Token Ring etc.), the Internet has 
  1145. standards for sending the high-level TCP/IP data using the low-level 
  1146. network mechanisms. Ethernet is the best choice, since the Internet 
  1147. protocols reached their maturity on Ethernet, so those standards are 
  1148. well-established. 
  1149. Apple adopted a certain way of sending TCP/IP data wrapped inside 
  1150. LocalTalk packets, and MacTCP knows how to handle this. It puts 
  1151. ("encapsulates") TCP/IP information into a normal LocalTalk packet, and 
  1152. sends it out. That packet makes absolutely no sense to any AppleTalk 
  1153. device (it looks like it has garbage inside), except those which use 
  1154. MacTCP to do the reverse decoding. 
  1155. A standard for transmitting TCP/IP data in Token Ring packets has also 
  1156. existed for quite some time. But MacTCP did not know about it, until 
  1157. Apple released an add-on "MacTCP Token Ring Extension", which -- again 
  1158. -- takes a TCP/IP packet and beats it into shape before sending it 
  1159. through a Token Ring card. 
  1160. To make things more interesting, MacTCP used on Ethernet (or Token Ring) 
  1161. is capable of two different behaviors: it can take the TCP/IP data and 
  1162. spit it out unadorned, according to the usual, world-savvy 
  1163. IP-on-Ethernet or IP-on-Token Ring recipe. But it can also be set to use 
  1164. EtherTalk (respectively, TokenTalk), which means that it will activate 
  1165. the wrapping/unwrapping AppleTalk filter between the network interface 
  1166. and the application software! The general idea is not to use EtherTalk 
  1167. or TokenTalk in MacTCP. The reason should become clear soon. 
  1168. To summarize, here are some scenarios. (a) Mac on Ethernet, MacTCP 
  1169. correctly installed, "Ethernet built-in" set in the MacTCP control 
  1170. panel; (b) Mac on Token Ring, MacTCP installed, the Token Ring driver 
  1171. installed and configured properly, Token Ring selected in MacTCP. All is 
  1172. peachy. A TCP/IP-aware application on the Mac (such as NCSA Telnet, etc. 
  1173. -- see Part V) wants to communicate with a Cray at the Space Station 
  1174. "Alpha", which by the time I finish this might be in orbit. It tells 
  1175. MacTCP to send out a Telnet packet, MacTCP translates it into the 
  1176. standard format for Ethernet or Token Ring, some gateways down the road 
  1177. convert it to the TCP/IP over radio waves form, the packets gets to the 
  1178. Cray, it says "Aha! we've got a hacker trying to log in here", and so it 
  1179. goes. 
  1180. Now for something more mundane. (c) Mac Plus on LocalTalk, MacTCP 
  1181. installed, "LocalTalk built-in" selected in the MacTCP panel (the only 
  1182. possible choice!). A TCP/IP "datagram" goes out after being wrapped into 
  1183. an AppleTalk packet! Now, the LocalTalk is no doubt connected to the 
  1184. outside world one way or another. If that's done using a relatively 
  1185. unsophisticated device, it will take the data and simply convert it to 
  1186. an equivalent EtherTalk, TokenTalk, or whatever packet. That one goes 
  1187. out allright, gets up to the Cray, but it now says: "Phooey, that's 
  1188. something I don't understand! It has some strange stuff inside! Let's 
  1189. quickly drop it on the floor." The reason is that most Internet hosts, 
  1190. like our Cray, are not instructed by their software to go deeper inside 
  1191. the packet and actually recognize that it was TCP/IP information wrapped 
  1192. inside AppleTalk... and why should they bother? What is needed is a more 
  1193. sophisticated gateway between the LocalTalk and the outside network. 
  1194. Scenario (d): Mac Plus on LocalTalk sends a TCP/IP-in-AppleTalk packet 
  1195. which is directed towards a "DDP-IP gateway", such as the Fastpath, 
  1196. Gatorbox, EtherRoute/TCP, etc. The gateway's software is smart enough to 
  1197. look under covers and see what is hiding inside. If it sees TCP/IP data 
  1198. wrapped inside AppleTalk, it strips the outer layer and passes the raw 
  1199. IP information in the standard format to the Ethernet network. All is 
  1200. well again! LocalTalk-to-Ethernet gateways like that are common, but 
  1201. equivalent ones for Token Ring are still scarce and expensive. 
  1202. How about (e): just like in scenarios (a) or (b), except MacTCP is set 
  1203. to use EtherTalk (or TokenTalk). Now regular TCP/IP packets will not be 
  1204. coming through -- MacTCP simply ignores them! It expects AppleTalk 
  1205. packets only. It will be able to communicate with the Mac Plus in (c), 
  1206. but not much else. So let's just forget it and stop here... 
  1207. back to table of contents 
  1208.  
  1209. Appendix C. Dial-in access
  1210.  
  1211.  
  1212. C.1. ARA
  1213.  
  1214. In our personal opinion, the most elegant way to connect a Mac to a 
  1215. TCP/IP network is AppleTalk Remote Access (ARA), a commercial product of 
  1216. Apple Computer, bundled with PowerBooks, and sold as a separate product. 
  1217. ARA uses the Communications Toolbox (built into System 7, and 
  1218. installable in System 6.0.x) to ship AppleTalk packets over a modem to 
  1219. an ARA server, which is presumably connected to a "real" network. MacTCP 
  1220. in turn uses the AppleTalk protocol to transmit "wrapped" TCP/IP packets 
  1221. (if it is configured to communicate via AppleTalk). This results in a 
  1222. two-stage translation: TCP/IP-to-AppleTalk, and AppleTalk-to-modem. The 
  1223. data have to be decoded by a reverse process at the other end. This 
  1224. explains the only major drawback of ARA: speed. A 2400 baud modem is
  1225.  next to unusable in this configuration. But a 9600 baud or faster 
  1226. connection provides decent response even with the additional IP 
  1227. encapsulation. The server Mac, whether it's on Ethernet or LocalTalk, 
  1228. spews out AppleTalk packets, from which the TCP/IP information has to be 
  1229. reconstructed by an IP gateway. If you don't have a gateway such as the 
  1230. Fastpath, GatorBox, EtherRoute, or similar, you can't use ARA for TCP/IP 
  1231. access to the network. 
  1232.  
  1233. C.2. SLIP and PPP
  1234.  
  1235. The most popular dial-in connection schemes, however, employ protocols 
  1236. developed specifically for that purpose, such as SLIP or PPP. A public 
  1237. domain MacPPP driver is available from several Mac archives, and is 
  1238. quite serviceable. There are also commercial PPP drivers. SLIP is 
  1239. available on the Mac in the form of several commercial offerings. More 
  1240. information on SLIP software can be found on ftp.bio.indiana.edu in the 
  1241. directory /util/slip. Pat Hoepfner also suggests reading two documents 
  1242. at "ftp.uu.net" in the "vendor/MorningStar/papers" directory. These unix 
  1243. compressed PostScript files are named "sug91-cheapIP.ps.Z" and 
  1244. "ppp-white-paper.ps.Z". 
  1245. A suitably configured SLIP connection gives the dial-in Macintosh all 
  1246. the functionality of a node attached directly to a TCP/IP network, even 
  1247. though it is of course usually much slower, even with the modern 28,800 
  1248. bps modems. Configuring reliable dial-up connection is not a trivial 
  1249. matter, because the modem and the SLIP or PPP software add a new layer 
  1250. of complexity. One universal rule seems to be that with fast modems you 
  1251. have to: (a) use a "hardware handshaking" modem cable; (b) set your 
  1252. software so it uses hardware (CTS or RTS & CTS) handshaking; and (c) 
  1253. initialize the modem so it has XON/XOFF handshaking disabled. 
  1254. In most cases you will set MacTCP to server addressing when using serial 
  1255. line connections (unless your provider only supports static address 
  1256. assignment). Most of the MacTCP parameters (gateway, subnet mask, etc.) 
  1257. are either irrelevant here, or will be set by the SLIP or PPP driver at 
  1258. connection time. 
  1259. Let's now look at two most popular serial IP drivers for the Mac: MacPPP 
  1260. and InterSLIP. They are both freely accessible from on-line sources. I 
  1261. don't know much about modems, and I use SLIP and PPP only occasionally, 
  1262. so the sections that follow are not likely to help you troubleshoot 
  1263. difficult problems. Adam Engst's book mentioned in Part II has much more 
  1264. information on the subject. You can also receive some help by sending an 
  1265. e-mail note to tisk-faq@tidbits.com.
  1266. If you are having problems with sending longer messages via Eudora over 
  1267. a dial-up connection, you may want to fill out a report to help track 
  1268. down the cause. 
  1269.  
  1270. C.3. InterSlip
  1271.  
  1272. Start up InterSLIP Setup. Create a new setup using the File menu. 
  1273. Double-click on it to open it. Set the modem parameters, remember about 
  1274. hardware handshaking. Opening InterSLIP Setup will have created a folder 
  1275. InterSLIP Folder:Gateway Scripts inside the Preferences Folder in the 
  1276. System Folder. Create your connection script, which is a text file (see 
  1277. simple example below), and put it in that folder. You should now be able 
  1278. to select that file in the Gateway setting in InterSLIP Setup. 
  1279. You can now set other parameters. I have the nameserver entered manually 
  1280. in InterSLIP, RFC compression on, hardware handshake, Hayes-Compatible 
  1281. modem (I use an AT&T Dataport 14.4). IP address and MTU Size are empty; 
  1282. they will be obtained from the SLIP server at connection time. Username 
  1283. and password will have to be set to values you were given by the SLIP 
  1284. administrators, or left blank if the server does not require them. 
  1285. Here is a simple connection script which should work with a server that 
  1286. doesn't do user authentication. Most real-life situations will call for 
  1287. a more complex one. 
  1288.  
  1289. !
  1290. @originate
  1291. note "Waiting for prompt"
  1292. matchclr
  1293. ! edit this to match the prompt your server gives
  1294. matchstr 1 4 "TSERVER>"
  1295. matchread 50
  1296. note "Gateway not responding!"
  1297. exit -1
  1298. !
  1299. @label 99
  1300. pause 1
  1301. sound
  1302. pause 60
  1303. exit -1
  1304. !
  1305. @label 4
  1306. note "Requesting SLIP"
  1307. write "slip¥13"
  1308. matchstr 1 5 "Entering SLIP mode."
  1309. matchread 120
  1310. note "Cannot invoke SLIP mode"
  1311. jump 99
  1312. !
  1313. @label 5
  1314. matchexp 1 6
  1315. "[0-9][0-9]*¥¥.[0-9][0-9]*¥¥.[0-9][0-9]*¥¥.[0-9][0-9]*¥¥."
  1316. matchread 120
  1317. note "No IP address given"
  1318. jump 99
  1319. !
  1320. @label 6
  1321. setip "^0"
  1322. matchclr
  1323. matchexp 1 7 "[0-9][0-9]*"
  1324. matchread 120
  1325. note "No MTU value"
  1326. jump 99
  1327. !
  1328. @label 7
  1329. setmtu "^0"
  1330. exit 0
  1331.  
  1332.  
  1333. C.4. MacPPP
  1334.  
  1335. If you have access to a PPP server, you may want to try the freely 
  1336. available MacPPP driver from Merit and University of Michigan. It is 
  1337. available on most Mac archives, e.g. on ftp.tidbits.com in 
  1338. /pub/tidbits/tisk/tcp. Rather complete documentation available from the 
  1339. same sources. As with InterSLIP, it is crucial to get the handshaking 
  1340. settings straight. 
  1341. Instead of a script, MacPPP uses a set of edit fields in which you enter 
  1342. the strings to wait for, and responses to send in order to negotiate 
  1343. connection parameters. In the simplest scenario you would simply tell 
  1344. MacPPP to wait for your server's prompt, and then send a command 
  1345. requesting PPP mode. It is easy to make a mistake here, forget to end 
  1346. the response with a carriage return, etc. 
  1347. To see what your server sends during connection attempts, and to 
  1348. experiment with the responses it may expect, you can simply dial into it 
  1349. using a plain-vanilla terminal emulation package, e.g. ZTerm, and jot 
  1350. down what happens on the screen. 
  1351. Even though MacPPP can be set to close the connection after a specified 
  1352. period of inactivity, it will perform only a "soft close", and will 
  1353. later periodically try to reestablish it. This can dramatically alter 
  1354. your next phone bill... Remember to use the "Hard Close" button to 
  1355. terminate a PPP session. 
  1356.  
  1357. C.5. Multiple Macs with dialup
  1358.  
  1359. One of the most frequently asked questions comes from users who have 
  1360. purchased a SLIP or PPP account from their service provider, but would 
  1361. want a small home or business network to take advantage of that single 
  1362. Internet entry point. 
  1363. After the Mac connected to the modem establishes a serial line link, one 
  1364. would need to connect the other computers to its network port (LocalTalk 
  1365. or Ethernet), and have MacTCP route packets between the two ports on an 
  1366. "as-needed" basis. This is non-trivial, and can only be accomplished 
  1367. with special software. 
  1368. One possibility which has existed for quite some time is to use a Unix 
  1369. variant which runs on a Mac and has this capability -- e.g. Mach from 
  1370. Tenon Intersystems, which runs on virtually any Mac and allows such 
  1371. routing. Another possibility is to use a PC running Linux, which can 
  1372. also be configured to provide the routing function. This, however, means 
  1373. getting involved in Unix administration, which is not for the faint of 
  1374. heart. 
  1375. A better alternative might be the recently released family of software 
  1376. routers for the Mac from VICOM. Some of them can apparently be used for 
  1377. the purpose described above. Note that I have not tried any of them, and 
  1378. that there might be competing products that I'm not aware of. 
  1379. back to table of contents 
  1380.  
  1381. Appendix D. MacTCP error codes
  1382.  
  1383. Please note: the information in this section is in no way blessed or 
  1384. authorized by Apple Computer, Inc. It is simply a summary of information 
  1385. contained in publicly available header files related to MacTCP (those 
  1386. are Copyright: (C) 1984-1994 by Apple Computer, Inc.) The list is not 
  1387. necessarily accurate nor up to date. 
  1388.  
  1389. -23000    bad network configuration 
  1390. -23001    bad IP configuration error 
  1391. -23002    missing IP or LAP configuration error 
  1392. -23003    error in MacTCP load 
  1393. -23004    error in getting address 
  1394. -23005    connection is closing 
  1395. -23006    invalid length (of what??) 
  1396. -23007    request conflicts with existing connection 
  1397. -23008    connection does not exist 
  1398. -23009    insufficient resources to perform request 
  1399. -23010    invalid stream pointer 
  1400. -23011    stream already open 
  1401. -23012    connectionTerminated 
  1402. -23013    invalidBufPtr 
  1403. -23014    invalidRDS 
  1404. -23014    invalidWDS 
  1405. -23015    openFailed 
  1406. -23016    commandTimeout 
  1407. -23017    duplicateSocket 
  1408.  
  1409. -23032    Packet too large to send w/o fragmenting 
  1410. -23033    destination not responding 
  1411. -23035    ICMP echo timed-out 
  1412. -23036    no memory to send fragmented pkt 
  1413. -23037    can't route packet off-net 
  1414.  
  1415. -23041    nameSyntaxErr 
  1416. -23042    cacheFault *
  1417. -23043    noResultProc 
  1418. -23044    noNameServer 
  1419. -23045    authNameErr 
  1420. -23046    noAnsErr 
  1421. -23047    dnrErr 
  1422. -23048    outOfMemory 
  1423.  
  1424.  
  1425. back to table of contents 
  1426.  
  1427. Appendix E. Open Transport - first look
  1428.  
  1429. Apple's new implementation of the networking interface, Open Transport, 
  1430. is scheduled to become an integral part of the next major version of the 
  1431. operating system ("Copland"). Early versions are currently included in 
  1432. System 7.5 being shipped with the models which use the PCI bus. Open 
  1433. Transport is an "umbrella" which integrates the various protocols a Mac 
  1434. can use to communicate with other network devices. It now includes 
  1435. AppleTalk and TCP/IP, with support for others (serial protocols, Novell 
  1436. IPX) to be added in the near future. 
  1437. At this time we can only offer a cursory description of the current 
  1438. release. The software is still under active development, so some of our 
  1439. observations may not apply to future versions. 
  1440.  
  1441. E.1. Do I need it?
  1442.  
  1443. Most likely not, if you have MacTCP up and running. At this time the 
  1444. only "official" way to get Open Transport is to buy a PCI-based Mac, or 
  1445. to obtain a copy through Apple's beta testing or early evaluation 
  1446. program. OT is not supposed to be installed on computers which do not 
  1447. require it. However, we took the risk of putting it on an SE/30 running 
  1448. System 7.0.1, and on a PowerBook 520 under 7.5, both with a direct 
  1449. Ethernet connection. 
  1450. Even though in my case there were no apparent problems, and the new 
  1451. features are certainly tempting, you have to think twice before trying 
  1452. OT on your Mac: there have been many reports of serious trouble, in 
  1453. particular with serial drivers such as MacSLIP. 
  1454.  
  1455. E.2. New features
  1456.  
  1457. Open Transport TCP/IP implementation is more modern than the old MacTCP 
  1458. code. The four main differences that should be apparent to an average 
  1459. user are: cleaner user interface; performance improvements; the ability 
  1460. to specify several domains to search; and the ability to switch between 
  1461. configurations without restarting the computer. In the next section you 
  1462. will see statements such as: press the "Select Hosts File" to select the 
  1463. Hosts file"... This is the best illustration of the fact that the 
  1464. interface has improved quite a bit. It is almost self-explanatory, with 
  1465. various fields and menus doing precisely what the labels say they should 
  1466. be doing. What a relief! 
  1467.  
  1468. E.3. Installation and configuration
  1469.  
  1470. The OT Installer adds several control panels and extensions. Before 
  1471. running it, back up MacTCP and AdminTCP, and make sure you have a floppy 
  1472. from which you can reinstall the Network control panel and extension if 
  1473. necessary. 
  1474. The two new control panels, AppleTalk and TCP/IP, are roughly the 
  1475. equivalents of the old Network and MacTCP panels. We will concentrate on 
  1476. TCP/IP only. 
  1477. Open the TCP/IP panel. The Edit menu contains an item "User Modes..." 
  1478. which determines the amount of detail you are shown: Basic, Advanced, 
  1479. and Administration (the equivalent of AdminTCP). The last one lets you 
  1480. set a password needed to get into that mode. For now, select Advanced. 
  1481. The first pop-up menu, labeled "Connect via:", contains the choices 
  1482. "Ethernet" and "AppleTalk (MacIP)". The latter should be used when you 
  1483. need to encapsulate TCP/IP packets in AppleTalk, as mentioned in 
  1484. Appendix B. More choices will show up if you have other network drivers 
  1485. installed (Token Ring, MacPPP, etc.) 
  1486. In the next pop-up menu you select the configuration method. In addition 
  1487. to "Manual", in case of Ethernet or a serial link there are three other 
  1488. choices: BootP, RARP, and DHCP. All three require some sort of server 
  1489. from which the Mac will obtain its TCP/IP settings. Apple documents 
  1490. mention that selected serial drivers (MacSLIP, InterSLIP, MacPPP) have 
  1491. been tested with BootP, which is roughly equivalent to the old "Server" 
  1492. setting in MacTCP. They also indicate, however, that when using a PPP 
  1493. server which will provide an Internet address for the Mac, "Manual" 
  1494. configuration should be used; the PPP server will then overwrite the IP 
  1495. address entered below. We have not had a chance to try Open Transport 
  1496. with any serial protocol yet. 
  1497. DHCP is a versatile, standard method of administering settings for a 
  1498. large number of hosts. This is the method of choice for network managers 
  1499. who are tired of chasing down address conflicts and other problems. DHCP 
  1500. servers run under most mainstream flavors of Unix, under Windows NT, and 
  1501. so on. 
  1502. When the connection is to be made via AppleTalk, one of the 
  1503. configuration methods that shows up is "MacIP server"; this requires a 
  1504. gateway (such as an Ethernet/LocalTalk router) which will assign an IP 
  1505. address to the Mac. 
  1506. The "Select Hosts File..." button lets you point OT towards a file 
  1507. containing addresses and aliases of hosts, but this is discouraged as a 
  1508. potential source of problems in administering many computers. It's 
  1509. better to rely on nameservers, especially since the Hosts file has been 
  1510. traditionally used to circumvent shortcomings in the MacTCP name 
  1511. resolver -- and those have largely been removed in the Open Transport 
  1512. implementation. 
  1513. To finish manual installation you need the same information as indicated 
  1514. in Part IV. Enter the numeric Internet address of the Mac in the "IP 
  1515. Address:" edit field. The default domain (e.g. math.niu.edu) goes in the 
  1516. "Domain name:" field. Decimal value of the subnet mask (e.g. 
  1517. 255.255.255.0) should be entered in the next field. 
  1518. The "Router address:" field can contain numeric addresses of one or more 
  1519. routers which connect the local network to the rest of the world. The 
  1520. software will detect failures in contacting any one of them, and try the 
  1521. next one, etc. Similarly, the "Name server addr:" field should contain 
  1522. at least one numeric address of a reliable local nameserver. 
  1523. One of the shortcomings of MacTCP had to do with so-called "partially 
  1524. qualified domain names". Suppose I tell the resolver to figure out the 
  1525. address of a host "mvs"; the old algorithm would see that there are no 
  1526. periods in it, and would query the nameservers for "mvs.math.niu.edu". 
  1527. However, there is no such computer. Or if I wanted to contact a host in 
  1528. another department, and typed simply "mp.cs", MacTCP would send a query 
  1529. for "mp.cs.math.niu.edu", failing again. A better approach is to strip 
  1530. away parts of the domain, checking for "mvs.niu.edu" and "mvs.edu" (or 
  1531. "mp.cs.niu.edu", and "mp.cs.edu") as well. In either case the second try 
  1532. would succeed. 
  1533. OT's Domain Name Resolver provides this convenience as follows. The 
  1534. "Admin domain:" field should contain the fragment of your domain which 
  1535. you want to append to names if the first query fails. If I enter 
  1536. "niu.edu" there, both examples given above will work as expected. In 
  1537. addition, you can specify other domains in the "Search domain names:" 
  1538. field to extend this mechanism; for example, putting "cs.niu.edu" in it 
  1539. would let me type simply "mp" to get to "mp.cs.niu.edu". This, of 
  1540. course, assuming that there is no "mp.math.niu.edu" or "mp.niu.edu" 
  1541. (otherwise they would be found first). 
  1542. Finally, many configurations can be saved and loaded through the "File" 
  1543. menu. You can switch between them without restarting, or edit the 
  1544. default one (although there is a timeout period of about 2 minutes 
  1545. during which OT keeps the old settings in its cache). 
  1546.  
  1547. E.4. Final comments
  1548.  
  1549. On a 68xxx Mac, with an application which isn't explicitly written for 
  1550. OT, there are no direct performance improvements over MacTCP. A 2+ MB 
  1551. file transferred with Fetch 2.1.2 from a SparcStation 5 to a PowerBook 
  1552. 520 over a lightly loaded Ethernet produced almost identical average 
  1553. rate of about 85 kbps with both drivers. The speed advantages, if any, 
  1554. will be seen on a PowerMac with an application using the Open Transport 
  1555. function calls, because those are native, and would not have to be 
  1556. trapped by the MacTCP backwards compatibility mechanism present in OT. 
  1557. However, in my view the new software appears to be much more robust. In 
  1558. one particular reproducible situation a telnet session to a nearby Unix 
  1559. host "stutters" and temporarily hangs with MacTCP; the same setup works 
  1560. like a charm with OT. 
  1561. I have been using OT on two Macs for about a month with no problems 
  1562. whatsoever. But keep in mind that both use a direct Ethernet connection, 
  1563. and both are relatively "clean" (very few non-standard extensions and 
  1564. gadgets). 
  1565. One notable omission in the TCP/IP component is that it doesn't seem to 
  1566. use routing information packets. As we mentioned in Part IV, entering 
  1567. 0.0.0.0 in the "default gateway" field of MacTCP makes it listen to the 
  1568. network and (usually) discover an appropriate router. My copy of OT 
  1569. would not do that, whether I entered zeroes in the "Router address" 
  1570. field or left it blank. Another quirk is that the "Info" button is 
  1571. supposed to display the software version and the computer's Ethernet 
  1572. address, and mine did not show the latter. 
  1573. I also had a problem with the "Use 802.3" button, which is meant to make 
  1574. the Mac use an Ethernet standard sanctioned by the IEEE committee, as 
  1575. opposed to the more traditional "blue book" standard developed by 3Com. 
  1576. One of my Macs would happily work with that setting, while the other one 
  1577. didn't. This may have been caused by an Ethernet card incompatible with 
  1578. 802.3. 
  1579. Finally, Open Transport is a memory hog. On the PowerBook with System 
  1580. 7.5 the shared libraries which OT uses take up a lot of RAM, even before 
  1581. any TCP/IP application starts up; after it does, the System takes up 
  1582. over a megabyte of RAM more than it does when MacTCP is loaded. This 
  1583. difference might be less pronounced with the native PowerPC libraries, 
  1584. but I haven't tried this. 
  1585.  
  1586. ------------------------------------------------------------------------
  1587. back to table of contents